function getSysFunctionWin() {

	// 系统函数---------------------------------------------------------------------------------------------------------------------------
	sysStore = new Ext.data.Store({
				url : 'pbSysfunctionAction.action',
				reader : new Ext.data.JsonReader({
							root : 'result.result',
							id : 'function_name',
							totalProperty : 'result.totalCount'
						}, [{
									name : 'function_code',
									mapping : 'function_code'
								}, {
									name : 'function_name',
									mapping : 'function_name'
								}, {
									name : 'segment_order',
									mapping : 'segment_order'
								}, {
									name : 'in_tax',
									mapping : 'in_tax'
								}, {
									name : 'is_add',
									mapping : 'is_add'
								}, {
									name : 'memo',
									mapping : 'memo'
								}, {
									name : 'memo1',
									mapping : 'memo1'
								}])
			});

	var syssm = new Ext.grid.CheckboxSelectionModel();
	var syscm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
				header : '函数编码',
				dataIndex : 'function_code'
			}, {
				header : '函数名称',
				dataIndex : 'function_name'
			}, {
				header : 'segment_order',
				dataIndex : 'segment_order',
				hidden : true
			}, {
				header : '是否计税',
				dataIndex : 'in_tax'
			}, {
				header : '是否固定项',
				dataIndex : 'is_add'
			}, {
				header : '说明',
				dataIndex : 'memo'
			}, {
				header : 'memo1',
				dataIndex : 'memo1',
				hidden : true
			}]);

	var sysGrid = new Ext.grid.GridPanel({
				id : 'sysGrid',
				height : 330,
				// width:420,
				trackMouseOver : true,
				stripeRows : true,
				autoScroll : true,
				hideCollapseTool : true,
				collapsible : true,
				titleCollapse : true,
				bufferResize : true,
				loadMask : true,
				bbar : new Ext.PagingToolbar({
							pageSize : pageSize,
							store : sysStore,
							displayInfo : true,
							dispalyMsg : '显示第{0}条到{1}条记录，一共{2}条',
							emptyMsg : '没有记录'
						}),
				// sm : syssm,
				cm : syscm,
				store : sysStore,
				loadMask : true,
				loadMask : {
					msg : '正在加载数据...'
				}
			});

	/**
	 * 函数类别下拉框
	 */
	var functiontype = new Ext.form.ComboBox({
				fieldLabel : '函数类别',
				// hiddenName : 'functiontype',
				id : 'functiontype',
				store : new Ext.data.SimpleStore({
							fields : ['key', 'value'],
							data : Ext.addpayClass.functiontype
						}),
				displayField : 'value',
				typeAhead : true,
				valueField : 'key',
				mode : 'local',
				triggerAction : 'all',
				selectOnFocus : true,
				emptyText : '请选择...',
				// disabled : true,
				anchor : '90%',
				width : 290,
				listeners : {
					select : function(combo, record, index) {
						if (functiontype.getValue() == 2) {
							functionitem.enable();
							functionitemStore = functionitem.getStore();
							functionitemStore.on('beforeload', function() {
										functionitemStore.baseParams = {
											'filter.functionType' : functiontype
													.getValue(),
											'flag' : 1,
											'start' : 0,
											'limit' : 15
										}
									});
							sysStore.loadData(Ext.util.JSON
											.decode("{result:{result:[]}}"),
									false);
							functionitemStore.reload();
						} else {
							functionitem.disable();
							sysStore.on('beforeload', function() {
										sysStore.baseParams = {
											'filter.functionType' : functiontype
													.getValue(),
											'flag' : 1,
											'start' : 0,
											'limit' : 15
										}
									});
							sysStore.reload();
						}
					}
				}
			});

	/**
	 * 函数分类下拉框
	 */
	var functionitem = new Ext.form.ComboBox({
		fieldLabel : '函数分类',
		// hiddenName : 'functionitem',
		id : 'functionitem',
		// width:290,
		store : new Ext.data.Store({
					proxy : new Ext.data.HttpProxy({
								url : 'pbSysfunctionAction.action'
							}),
					reader : new Ext.data.JsonReader({
								root : 'result.result',
								id : 'function_class'
							}, [{
										name : 'function_code',
										mapping : 'function_code'
									}, {
										name : 'function_name',
										mapping : 'function_name'
									}, {
										name : 'function_class',
										mapping : 'function_class'
									}])
				}),
		displayField : 'function_name',
		typeAhead : true,
		valueField : 'function_class',
		mode : 'local',
		triggerAction : 'all',
		selectOnFocus : true,
		emptyText : '请选择...',
		disabled : true,
		anchor : '90%',
		listeners : {
			select : function(combo, record, index) {
				var _function_class = '';
				if (record.data.function_class != null) {
					_function_class = record.data.function_class;
				}
				sysStore.on('beforeload', function() {
							sysStore.baseParams = {
								'filter.functionType' : functiontype.getValue(),
								'filter.socialFunType' : record.data.function_code,
								'filter.functionClass' : _function_class,
								'flag' : 2,
								'start' : 0,
								'limit' : 15
							}
						});
				sysStore.reload();
			}
		}
	});

	var comboxPanel = new Ext.form.FormPanel({
				frame : true,
				id : 'addPanelForm',
				bodyStyle : 'padding:5px 5px 0',
				items : [{
							layout : 'column',
							items : [{
										columnWidth : .5,
										layout : 'form',
										items : [functiontype]
									}, {
										columnWidth : .5,
										layout : 'form',
										items : [functionitem]
									}]
						}]
			});

	var win = new Ext.Window({
		buttonalign : 'right',
		closable : true,
		draggable : true,
		height : 450,
		// layout : 'border',
		region : 'center',
		plain : true,
		items : [comboxPanel, sysGrid],
		// title : '查询批号信息',
		width : 750,
		listeners : {
			"beforedestroy" : function(obj) {
				return false;
			}
		},
		buttons : [{
					text : '确认',
					id : 'sysFunction_save',
					handler : function() {
						if (sysGrid.getSelectionModel().getSelections().length != 1) {
							Ext.msg.alert('错误', '请选择系统函数');
							return;
						}
						var data = sysGrid.getSelectionModel().getSelections()[0];
						Ext.getCmp('in_tax').setValue(data.get('in_tax'));
						Ext.getCmp('is_add').setValue(data.get('is_add'));
						Ext.getCmp('segment1').setValue(data
								.get('function_code'));
						Ext.getCmp('segment2').setValue(data.get('memo1'));
						win.hide();
					}
				}, {
					text : '取消',
					id : 'sysFunction_cancel',
					handler : function() {
						win.hide();
					}
				}]
	});

	return win;
}
